Precise value selection within large value ranges

ABSTRACT

Systems, methods, and computer readable mediums are provided for selecting a precise value within a large value range. Data received from an ultrasonic testing environment can include a range of values associated with one or more parameters to be configured for performing ultrasonic inspection of a test object. A control in a user interface of the ultrasonic testing environment can be provided and include a display portion displaying one or more parameters and one or more values within the range of values associated with the one or more parameters. The control also includes an interactive portion configured to receive a plurality of inputs. Based on the inputs a selected value associated with a first parameter can be determined. The selected value associated with the first parameter can be output as a static display within the display portion of the control.

RELATED APPLICATION

This application is a continuation of, and claims priority to, U.S.patent Ser. No. 16/209,712, filed on Dec. 4, 2018 and entitled “PRECISEVALUE SELECTION WITHIN LARGE VALUE RANGES,” the entirety of which isincorporated by reference herein.

BACKGROUND

Ultrasonic testing is one type of non-destructive testing (NDT) that canbe used to inspect characteristics of a component or a test object,without causing damage, to ensure that the inspected characteristicssatisfy required specifications. Ultrasonic testing can be used in anumber of industries such as aerospace, automotive, power generation,oil and gas transport or refining where component failures would becatastrophic.

In an ultrasonic testing environment, an ultrasonic probe can generateone or more ultrasonic waves and these waves can be directed towards atest object. As the ultrasonic waves contact and penetrate the target,they can reflect from features such as outer surfaces and interiordefects (e.g., cracks, porosity, etc.). Typically, ultrasonic testingenvironments include a variety of user interfaces to control theultrasonic probe and display ultrasonic testing data. Additionally, userinterfaces can also include a variety of input mechanisms to configureone or more parameters associated with the operation of the ultrasonictesting environment. Typically, the input mechanisms include mechanicalinput mechanisms, for example, rotating hardware knobs that allow forprecise selection of specific values of various parameters, such asgain, acquisition range, or gate positions, which are necessary to beconfigured in order to operate the ultrasonic testing environment.

Touchscreen interfaces are input devices that are coupled to anelectronic visual display of an information processing system. A usercan provide input to or control the underlying information processingsystem through simple or multi-touch gestures by touching the screenwith one or more fingers or a stylus-like input device. Additionally, auser can interact with a touchscreen to respond to data being displayedand to control one or more aspects of the information processing system.In this way, the user interacts directly with the touchscreen, insteadof using a mouse or keyboard to provide inputs to control theinformation processing system,

SUMMARY

Improved ultrasonic testing environments can be configured withtouchscreen interfaces that enable more precise selection of parametervalues. Ultrasonic testing environments configured with touchscreeninterfaces provide a more robust user experience when selectingparameter values compared to traditional systems which includemechanical input components as described above.

In one aspect, a system for selecting a precise value within a largevalue range is provided. The system can include an ultrasonic testingenvironment including a memory storing non-transitory computer-readableinstructions. The system can also include a data processor, the dataprocessor configured to execute the non-transitory computer-readableinstructions. The instructions, which when executed, can cause theprocessor to perform operations including receiving data from theultrasonic testing environment. The data including a range of valuesassociated with one or more parameters to be configured for performingultrasonic inspection of a test object. The instructions, which whenexecuted, can further cause the processor to perform operationsincluding displaying a control in a user interface of the ultrasonictesting environment. The control including a display portion configuredto display one or more parameters and one or more values within therange of values associated with the one or more parameters. The controlalso includes an interactive portion configured to receive a pluralityof inputs. The instructions, which when executed, can further cause theprocessor to perform operations including determining a selected valueassociated with a first parameter. The instructions, which whenexecuted, can further cause the processor to perform operationsincluding displaying the selected value associated with the firstparameter as a static display within the display portion of the control.

In another embodiment, the ultrasonic testing environment includes athree-dimensional space enclosing the test object, an ultrasonic probeassembly including an ultrasonic probe, a controller coupled to theultrasonic probe assembly and a processor coupled to the controller, theprocessor configured to receive user input for performing ultrasonictesting on the test object and in response to the user input, executeinstructions causing the ultrasonic probe to transmit ultrasonic signalsinto the test piece and to receive reflected ultrasonic signals from thetest piece.

In another embodiment, the system can include instructions, which whenexecuted, can further cause the processor to determine the selectedvalue associated with the first parameter by receiving a first valueselection input applied to the interactive portion. The instructions,which when executed, can further cause the processor to determine theselected value associated with the first parameter by determining aninput direction and an input speed associated with the first valueselection input. The instructions, which when executed, can furthercause the processor to determine the selected value associated with thefirst parameter by determining a first subset of values, included in therange of values, based on the input speed and the input directionassociated with the first value selection input. The instructions, whichwhen executed, can further cause the processor to determine the selectedvalue associated with the first parameter by providing the first subsetof values as a first dynamic display within the display portion of thecontrol. The instructions, which when executed, can further cause theprocessor to determine the selected value associated with the firstparameter by receiving a second value selection input applied to theinteractive portion. The instructions, which when executed, can furthercause the processor to determine the selected value associated with thefirst parameter by determining an input direction and an input speedassociated with the second value selection input. The instructions,which when executed, can further cause the processor to determine theselected value associated with the first parameter by determining asecond subset of values, included in the range of values, based on theinput speed and the input direction associated with the second valueselection input. The instructions, which when executed, can furthercause the processor to determine the selected value associated with thefirst parameter by providing the second subset of values as a seconddynamic display within the display portion of the control. Theinstructions, which when executed, can further cause the processor todetermine the selected value associated with the first parameter bydetermining the selected value from the second subset of values based onremoval of the second value selection input.

In another embodiment, the input direction associated with the first andsecond value selection inputs includes a vertical input direction andthe input speed associated with the first and second value selectioninputs includes a swipe-gesture input speed or a drag-gesture inputspeed. In another embodiment, the first and second subsets of values areprovided in the dynamic display at a display rate determined based onthe input speed and a configurable friction parameter configured todisplay successive values within the first and second subset of valuesat a predetermined rate.

In another embodiment, the instructions, which when executed, canfurther cause the processor to receive a tap-gesture input uponprovision of the first dynamic display. The instructions, which whenexecuted, can further cause the processor to provide the selected valuein a static display responsive to the received tap-gesture input. Theselected value provided as the value displayed in the first dynamicdisplay at a time the tap-gesture input was received.

In another embodiment, the instructions which when executed, can furthercause the processor to determine a selected parameter by receiving afirst parameter selection input applied to the interactive portion. Theinstructions which when executed, can further cause the processor todetermine the selected parameter by determining an input direction andan input speed associated with the first parameter selection input. Theinstructions which when executed, can further cause the processor todetermine the selected parameter by determining a first subset ofparameters, included in the one or more parameters, based on the inputspeed and the input direction associated with the first parameterselection input. The instructions which when executed, can further causethe processor to determine the selected parameter by providing the firstsubset of parameters as a first dynamic display within the displayportion of the control. The instructions which when executed, canfurther cause the processor to determine the selected parameter byreceiving a second parameter selection input applied to the interactiveportion. The instructions which when executed, can further cause theprocessor to determine the selected parameter by determining an inputdirection and an input speed associated with the first parameterselection input. The instructions which when executed, can further causethe processor to determine the selected parameter by determining a firstsubset of parameters, included in the one or more parameters, based onthe input speed and the input direction associated with the firstparameter selection input. The instructions which when executed, canfurther cause the processor to determine the selected parameter byproviding the first subset of parameters as a first dynamic displaywithin the display portion of the control. The instructions which whenexecuted, can further cause the processor to determine the selectedparameter by receiving a second parameter selection input applied to theinteractive portion. The instructions which when executed, can furthercause the processor to determine the selected parameter by determiningan input direction and an input speed associated with the secondparameter selection input. The instructions which when executed, canfurther cause the processor to determine the selected parameter bydetermining a second subset of parameters, included in the one or moreparameters, based on the input speed and the input direction associatedwith the second parameter selection input. The instructions which whenexecuted, can further cause the processor to determine the selectedparameter by providing the second subset of parameters as a seconddynamic display within the display portion of the control. Theinstructions which when executed, can further cause the processor todetermine the selected parameter by determining the selected parameterfrom the second subset of parameters based on removal of the secondparameter selection input. The instructions which when executed, canfurther cause the processor to output the selected parameter as a staticdisplay within the display portion of the control.

In another embodiment, the input direction includes a horizontal inputdirection and the input speed is associated with an input speedcorresponding to a swipe-gesture input or an input speed correspondingto a drag-gesture input. In another embodiment, the subset of parametersis provided in the dynamic display at a display rate determined based onthe input speed and a configurable friction parameter configured todisplay successive parameters within the subset of parameters at apredetermined rate.

In another embodiment, the instructions, which when executed, canfurther cause the processor to receive a tap-gesture input uponprovision of the first dynamic display. In another embodiment, theinstructions, which when executed, can further cause the processor toprovide the selected parameter in a static display responsive to thereceived tap-gesture input. The selected parameter provided as theparameter displayed in the first dynamic display at a time thetap-gesture input was received.

In another aspect, methods for selecting a precise value within a largevalue range are also provided. In one embodiment, the method can includereceiving data from an ultrasonic testing environment. The dataincluding a range of values associated with one or more parameters to beconfigured for performing ultrasonic inspection of a test object. Themethod can also include displaying a control in a user interface of theultrasonic testing environment. The control including a display portionconfigured to display one or more parameters and one or more valueswithin the range of values associated with the one or more parameters.The control also includes an interactive portion configured to receive aplurality of inputs. The method can also include determining a selectedvalue associated with a first parameter. The method can also includedisplaying the selected value associated with the first parameter as astatic display within the display portion of the control.

In another embodiment, the ultrasonic testing environment includes anthree-dimensional space enclosing the test object, an ultrasonic probeassembly including an ultrasonic probe, a controller coupled to theultrasonic probe assembly and a processor coupled to the controller, theprocessor configured to receive user input for performing ultrasonictesting on the test object and in response to the user input, executeinstructions causing the ultrasonic probe to transmit ultrasonic signalsinto the test piece and to receive reflected ultrasonic signals from thetest piece.

In another embodiment, the method can include determining the selectedvalue associated with the first parameter. The method to determine theselected value associated with the first parameter can include receivinga first value selection input applied to the interactive portion. Themethod to determine the selected value associated with the firstparameter can further include determining the selected value associatedwith the first parameter by determining an input direction and an inputspeed associated with the first value selection input. The method todetermine the selected value associated with the first parameter canalso include determining the selected value associated with the firstparameter by determining a first subset of values, included in the rangeof values, based on the input speed and the input direction associatedwith the first value selection input. The method to determine theselected value associated with the first parameter can also includedetermining the selected value associated with the first parameter byproviding the first subset of values as a first dynamic display withinthe display portion of the control. The method to determine the selectedvalue associated with the first parameter can also include determiningthe selected value associated with the first parameter by receiving asecond value selection input applied to the interactive portion. Themethod to determine the selected value associated with the firstparameter can also include determining the selected value associatedwith the first parameter by determining an input direction and an inputspeed associated with the second value selection input. The method todetermine the selected value associated with the first parameter canalso include determining the selected value associated with the firstparameter by determining a second subset of values, included in therange of values, based on the input speed and the input directionassociated with the second value selection input. The method todetermine the selected value associated with the first parameter canalso include determining the selected value associated with the firstparameter by providing the second subset of values as a second dynamicdisplay within the display portion of the control. The method todetermine the selected value associated with the first parameter canalso include determining the selected value associated with the firstparameter by determining the selected value from the second subset ofvalues based on removal of the second value selection input.

In another embodiment, the input direction associated with the first andsecond value selection inputs includes a vertical input direction andthe input speed associated with the first and second value selectioninputs includes a swipe-gesture input speed or a drag-gesture inputspeed. In another embodiment, the first and second subsets of values areprovided in the dynamic display at a display rate determined based onthe input speed and a configurable friction parameter configured todisplay successive values within the first and second subset of valuesat a predetermined rate.

In another embodiment, the method can include receiving a tap-gestureinput upon provision of the first dynamic display. The method canfurther can include providing the selected value in a static displayresponsive to the received tap-gesture input. The selected valueprovided as the value displayed in the first dynamic display at a timethe tap-gesture input was received.

In another embodiment, the method can include determining a selectedparameter. The method to determine a selected parameter can includereceiving a first parameter selection input applied to the interactiveportion. The method to determine the selected parameter can furtherinclude determining an input direction and an input speed associatedwith the first parameter selection input. The method to determine theselected parameter can also include determining a first subset ofparameters, included in the one or more parameters, based on the inputspeed and the input direction associated with the first parameterselection input. The method to determine the selected parameter canfurther include providing the first subset of parameters as a firstdynamic display within the display portion of the control. The method todetermine the selected parameter can further include receiving a secondparameter selection input applied to the interactive portion. The methodto determine the selected parameter can also include determining aninput direction and an input speed associated with the first parameterselection input. The method to determine the selected parameter can alsoinclude determining a first subset of parameters, included in the one ormore parameters, based on the input speed and the input directionassociated with the first parameter selection input. The method todetermine the selected parameter can further include providing the firstsubset of parameters as a first dynamic display within the displayportion of the control. The method to determine the selected parametercan also include receiving a second parameter selection input applied tothe interactive portion. The method to determine the selected parametercan further include determining an input direction and an input speedassociated with the second parameter selection input. The method todetermine the selected parameter can also include determining a secondsubset of parameters, included in the one or more parameters, based onthe input speed and the input direction associated with the secondparameter selection input. The method to determine the selectedparameter can further include providing the second subset of parametersas a second dynamic display within the display portion of the control.The method to determine the selected parameter can also includedetermining the selected parameter from the second subset of parametersbased on removal of the second parameter selection input. The method canalso include outputting the selected parameter as a static displaywithin the display portion of the control.

In another embodiment, the input direction includes a horizontal inputdirection and the input speed is associated with an input speedcorresponding to a swipe-gesture input or an input speed correspondingto a drag-gesture input. In another embodiment, the subset of parametersis provided in the dynamic display at a display rate determined based onthe input speed and a configurable friction parameter configured todisplay successive parameters within the subset of parameters at apredetermined rate.

In another embodiment, the method can include receiving a tap-gestureinput upon provision of the first dynamic display. In anotherembodiment, the method can include providing the selected parameter in astatic display responsive to the received tap-gesture input. Theselected parameter provided as the parameter displayed in the firstdynamic display at a time the tap-gesture input was received.

In another aspect, a computer-readable storage medium containing programinstructions for causing a computer to select a precise value within alarge value range is also provided. The program instructions containedon the computer-readable storage medium perform the method includingreceiving data from an ultrasonic testing environment. The dataincluding a range of values associated with one or more parameters to beconfigured for performing ultrasonic inspection of a test object. Theprogram instructions further perform the method including displaying acontrol in a user interface of the ultrasonic testing environment. Thecontrol including a display portion configured to display one or moreparameters and one or more values within the range of values associatedwith the one or more parameters. The control also includes aninteractive portion configured to receive a plurality of inputs. Theprogram instructions further perform the method including determining aselected value associated with a first parameter. The programinstructions further perform the method including displaying theselected value associated with the first parameter as a static displaywithin the display portion of the control.

In another aspect, the computer-readable storage medium contains programinstructions for causing a computer to determine the selected valueassociated with the first parameter. The program instructions cause thecomputer to determine the selected value associated with the firstparameter by performing the method including receiving a first valueselection input applied to the interactive portion. The programinstructions also cause the computer to determine the selected valueassociated with the first parameter by determining the selected valueassociated with the first parameter by determining an input directionand an input speed associated with the first value selection input. Theprogram instructions further cause the computer to determine theselected value associated with the first parameter by determining afirst subset of values, included in the range of values, based on theinput speed and the input direction associated with the first valueselection input. The program instructions also cause the computer todetermine the selected value associated with the first parameter byproviding the first subset of values as a first dynamic display withinthe display portion of the control. The program instructions furthercause the computer to determine the selected value associated with thefirst parameter by receiving a second value selection input applied tothe interactive portion. The program instructions also cause thecomputer to determine the selected value associated with the firstparameter by determining an input direction and an input speedassociated with the second value selection input. The programinstructions further cause the computer to determine the selected valueassociated with the first parameter by determining a second subset ofvalues, included in the range of values, based on the input speed andthe input direction associated with the second value selection input.The program instructions also cause the computer to determine theselected value associated with the first parameter by providing thesecond subset of values as a second dynamic display within the displayportion of the control. The program instructions further cause thecomputer to determine the selected value associated with the firstparameter by determining the selected value from the second subset ofvalues based on removal of the second value selection input.

In another embodiment, the ultrasonic testing environment includes anthree-dimensional space enclosing the test object, an ultrasonic probeassembly including an ultrasonic probe, a controller coupled to theultrasonic probe assembly and a processor coupled to the controller, theprocessor configured to receive user input for performing ultrasonictesting on the test object and in response to the user input, executeinstructions causing the ultrasonic probe to transmit ultrasonic signalsinto the test piece and to receive reflected ultrasonic signals from thetest piece.

In another embodiment, the input direction associated with the first andsecond value selection inputs includes a vertical input direction andthe input speed associated with the first and second value selectioninputs includes a swipe-gesture input speed or a drag-gesture inputspeed. In another embodiment, the first and second subsets of values areprovided in the dynamic display at a display rate determined based onthe input speed and a configurable friction parameter configured todisplay successive values within the first and second subset of valuesat a predetermined rate.

In another embodiment, the program instructions can cause the computerto determine a selected parameter. The program instructions can causethe computer to determine the selected parameter by receiving a firstparameter selection input applied to the interactive portion. Theprogram instructions can also cause the computer to determine theselected parameter by determining an input direction and an input speedassociated with the first parameter selection input. The programinstructions can further cause the computer to determine the selectedparameter by determining a first subset of parameters, included in theone or more parameters, based on the input speed and the input directionassociated with the first parameter selection input. The programinstructions can further cause the computer to determine the selectedparameter by providing the first subset of parameters as a first dynamicdisplay within the display portion of the control. The programinstructions can also cause the computer to determine the selectedparameter by receiving a second parameter selection input applied to theinteractive portion. The program instructions can further cause thecomputer to determine the selected parameter by determining an inputdirection and an input speed associated with the first parameterselection input. The program instructions can also cause the computer todetermine the selected parameter by determining a first subset ofparameters, included in the one or more parameters, based on the inputspeed and the input direction associated with the first parameterselection input. The program instructions can further cause the computerto determine the selected parameter by providing the first subset ofparameters as a first dynamic display within the display portion of thecontrol. The program instructions can also cause the computer todetermine the selected parameter by receiving a second parameterselection input applied to the interactive portion. The programinstructions can also cause the computer to determine the selectedparameter by determining an input direction and an input speedassociated with the second parameter selection input. The programinstructions can further cause the computer to determine the selectedparameter by determining a second subset of parameters, included in theone or more parameters, based on the input speed and the input directionassociated with the second parameter selection input. The programinstructions can also cause the computer to determine the selectedparameter by providing the second subset of parameters as a seconddynamic display within the display portion of the control. The programinstructions can further cause the computer to determine the selectedparameter by determining the selected parameter from the second subsetof parameters based on removal of the second parameter selection input.The program instructions can also cause the computer to output theselected parameter as a static display within the display portion of thecontrol.

In another embodiment, the subset of parameters is provided in thedynamic display at a display rate determined based on the input speedand a configurable friction parameter configured to display successiveparameters within the subset of parameters at a predetermined rate.

In another embodiment, the program instructions can also cause thecomputer to receive a tap-gesture input upon provision of the firstdynamic display. In another embodiment, the program instructions canfurther cause the computer to provide the selected parameter in a staticdisplay responsive to the received tap-gesture input. The selectedparameter provided as the parameter displayed in the first dynamicdisplay at a time the tap-gesture input was received.

DESCRIPTION OF DRAWINGS

These and other features will be more readily understood from thefollowing detailed description taken in conjunction with theaccompanying drawings, in which:

FIG. 1 illustrates an exemplary embodiment of a system configured toselect a precise value within a large range of values;

FIG. 2 illustrates an exemplary embodiment of a user interfaceconfigured to select a precise value within a large value range;

FIG. 3 illustrates another exemplary embodiment of a user interfaceconfigured to select a precise value within a large value range;

FIG. 4 is a flow diagram illustrating an exemplary embodiment of amethod for selecting a precise value within a large value range;

FIG. 5 is a flow diagram illustrating an exemplary embodiment of amethod for determining a selected value associated with a parameter;

FIG. 6 is a flow diagram illustrating an exemplary embodiment of amethod for determining a selected parameter;

FIG. 7 is a flow diagram illustrating an exemplary embodiment of amethod for providing a selected value or parameter in a static display;

FIG. 8 illustrates an exemplary embodiment of a user interface forselecting a precise value within a large value range in operation;

FIG. 9 illustrates an exemplary embodiment of a user interface fordetermining a selected parameter in operation;

It is noted that the drawings are not necessarily to scale. The drawingsare intended to depict only typical aspects of the subject matterdisclosed herein, and therefore should not be considered as limiting thescope of the disclosure.

DETAILED DESCRIPTION

Providing inputs to configure one or more parameters of an ultrasonictesting environment can be performed using mechanical input componentsthat are operatively coupled to the ultrasonic testing environment. Themechanical input components can include a mouse, a keyboard, and/or oneor more knobs or buttons which can be implemented as physical rotatingknobs, mechanical sliders, or hardware buttons that are configured toallow a user to select a specific value for a parameter in order toperform ultrasonic testing. When performing ultrasonic testing, aprecise parameter value can be selected to successfully configure theultrasonic testing environment. Often a user can configure multipleparameters such as the frequency or bandwidth, beam angle, gain, andpulse energy associated with a component of the ultrasonic testingenvironment, such as a transducer, prior to performing ultrasonicinspection of a test object. To configure each parameter for testing,the user selects a precise value for the parameter from among largeranges of possible values. Rapidly and precisely selecting the exactparameter value from the large range of values can reduce testing timeand improve the quality of the test results.

The parameter may be associated with a large range of possible values tobe selected and the user can select a precise parameter value from amongthe large range of parameter values by interacting, for example, with arotary knob. The user can rotate the rotary knob to select the precisevalue of the parameter that the user is attempting to configure withinthe ultrasonic testing environment. User interfaces that include thesekinds of mechanical input components can provide limited feedback aboutprogress toward the desired parameter value that has results from theuser's input. For example, such mechanical input components can includea visual scale identifying the broad range of values, usuallysub-divided into uniform increments, from which the user is attemptingto select a precise value. Using these types of user interfaces it canbe difficult for a user to ascertain how much additional input (e.g.,additional turns of the rotary knob) may be required to preciselyachieve a specific parameter value due to the magnitude of the visualscale or scale increments. As a result, a user may be required topersistently and continuously rotate or adjust the rotary knob throughthe large range of parameter values before reaching the specificparameter value that the user is attempting to select.

Ultrasonic testing environments which include touchscreen interfaces canbe configured with a variety of software-based input mechanisms, alsoknown as controls or interactive graphical affordances, which enable auser to manipulate ultrasonic testing data in an interface by touchingthe input mechanism. Such input mechanisms generally provide a greaterdegree of visual feedback and can thus provide the user with a greatersense of confidence as they attempt interact with the input mechanismtoward their desired objective. However, touchscreen input mechanismssuch as drag-able sliders, clickable scroll bars, rotatable dials andgauges, or spinable controls, can be limited in their ability todynamically determine and adjust the range of values associated with aparticular parameter as the user interacts with the input mechanism toselect a precise value from within a large range of values.

In general, systems, methods, and computer readable mediums are providedherein for improved ultrasonic testing environments that includetouchscreens with user interface controls or input mechanisms that areconfigured to select a precise parameter value from within a large rangeof values and/or to select one or more parameters from among a pluralityof parameters. An improved ultrasonic testing environment can include auser interface configured to receive and display a variety of dataassociated with ultrasonic testing. The data can include a large rangeof values corresponding to one or more parameters. A user can berequired to select a precise value from within the large range of valuesin order to perform ultrasonic testing of a test object. The userinterface can include a control implemented as a touchscreen interfacethat can be configured with a display portion to display selected valuesand parameters, as well as an interactive portion that is configured toreceive user inputs provided via touch. As the user interacts with thecontrol by touching the interactive portion of the control, selectedvalues associated with a particular parameter can be determined based onthe speed, direction, and gesture type of the user's input.Additionally, selected parameters can also be determined based on thespeed, direction, and gesture type of the user's input as applied to theinteractive portion of the control. Based on the user's input, thedisplay portion of the control can dynamically update and provide animproved user experience as the user determines a precise value orparameter selection. The control can also include configurable settingsto determine the rate at which successive values and/or parameters orincrements of values and/or parameters are dynamically displayed in thedisplay portion of the control.

In this way, the systems, methods, and computer readable mediumsdescribed herein provide an improved user interface and user interfacecontrol for selecting a precise parameter value among a large range ofpotential values in an ultrasonic testing environment. The systems,methods, and computer readable mediums described herein also provide animproved user interface and user interface control for selecting aparameter from among one or more parameters in an ultrasonic testingenvironment. In some implementations, the improved user interface andinterface controls, implemented as a touchscreen interface in anultrasonic testing environment, can improve the presentation ofultrasonic testing and configuration data, can improve the userexperience when configuring the ultrasonic testing environment, and canreduce the risk of operator error when inputting parameter values ormaking parameter selections. Providing the user interface and theinterface control in this manner can improve the functionality of acomputing device configured within the ultrasonic testing environmentwith regard to the display, receipt of user input, and the execution offunctionality associated with performing operations related toultrasonic testing or inspection. As a result, some improved computingdevices can execute configuration operations, such as parameter setting,more efficiently due to more accurate value and parameter selection thancomputing devices in ultrasonic testing environments that do not includethe features described herein.

Embodiments of systems, methods, and computer readable mediums forprecisely selecting a parameter value or a parameter among a large rangeof values or parameters in an ultrasonic testing environment arediscussed herein. However, embodiments of the disclosure can be employedfor selecting a parameter value or a parameter among a large range ofvalues or parameters in other data processing environments withoutlimit.

FIG. 1 is a diagram illustrating an example system 100 for selecting aprecise value within a large range of values. In some embodiments, theexample system 100 can also be configured to determine a selectedparameter from one or more parameters. The system 100 includes anultrasonic testing environment 105, which includes a test piece 110, acontroller 115, a probe assembly 120 and an ultrasonic probe 125. Theultrasonic probe 125 emits the transmitted ultrasonic signals 130 towarda test piece 110 and receives the reflected ultrasonic signals 135 backfrom the test piece 110. The system 100 also includes a value selector140 including a processor 145 and a memory 150. The processor 145 iscommunicatively coupled to an input device 155 to receive user inputsassociated with performing the ultrasonic testing such as parametervalue selection and/or parameter selection and a display 160. Thedisplay 160 can be configured to display data associated with performingultrasonic testing in one or more user interfaces provided via thedisplay 160.

As shown in FIG. 1, the system 100 includes an ultrasonic testingenvironment 105. The ultrasonic testing environment 105 includes athree-dimensional volume in which ultrasonic testing may be performed.For example, as shown in FIG. 1, a rectangular tank is configured and atest piece 110 is positioned for ultrasonic testing. The test piece 110is the objective target of the ultrasonic testing performed within theultrasonic testing environment 105. The test piece 110 can be any objectfor which ultrasonic test data is to be acquired. For example, the testpiece 110 can be an internal component of an aircraft engine that isbeing evaluated for material defects present within the component.

As further shown in FIG. 1, the ultrasonic testing environment 105includes a controller 115 coupled to a probe assembly 120 and to aprocessor 145. The controller 115 can include executable instructions,which when executed, cause the ultrasonic probe to generate or receiveultrasonic signals based on a variety of parameters associated with theultrasonic testing. For example, the controller 115 can executeinstructions causing the width of an ultrasonic beam emitted from theultrasonic probe 125 to be widened or narrowed depending on userprovided input. The controller 115 can also include executableinstructions, which when executed, adjust the location of the probeassembly 120 and/or the ultrasonic probe 125 as required to perform theultrasonic testing. Once positioned relative to the test piece 110, theultrasound probe 125 is configured to emit a transmitted ultrasonicsignal 130 in the direction of the test piece 110 and to receive areflected ultrasonic signal 135.

As further shown in FIG. 1, the ultrasonic testing environment 105includes a value selector 140 that can be configured to determine aselect parameter value within in a large range of values. In someembodiments, the value selector 140 can be configured to determine aparameter from one or more parameters based on user input. In someembodiments, the value selector 140 can be configured outside of theultrasonic testing environment 105. The value selector 140 includes aprocessor 145 and a memory 150. The processor 145 includes executableinstructions, which when executed, perform processing associated withperforming ultrasonic testing such as transmitting instructions to thecontroller 115 or receiving data from the controller 115 associated withthe positioning or location of the probe assembly 120 and/or theultrasonic probe 125. The processor 145 can execute instructions causingthe controller 115 to adjust or configure one or more parametersassociated with the operation of the probe assembly 120 and/or theultrasonic probe 125. Additionally, or alternatively, the processor 145can execute instructions causing the controller 115 to receive datacharacterized by one or more parameters associated with the transmittedultrasonic signals 130 and/or the reflected ultrasonic signals 135 andprovide the received data to the processor 145.

As shown in FIG. 1, the value selector 140 includes a memory 150 coupledto the processor 145. The memory 150 includes non-transitory computerreadable instructions which when executed cause the processor 145 toperform operations to determine a precise value selection of a parameterfrom a large range of values. In some embodiments, the memory 150includes non-transitory computer readable instructions, which whenexecuted cause the processor 145 to determine a selected parameter. Thememory 150 can store and provide to the processor 145 a variety of dataassociated with the ultrasonic testing performed via the ultrasonictesting environment 105, including but not limited to, data associatedwith transmitted ultrasonic signals 130, reflected ultrasonic signals135, the positioning of the probe assembly 120 and/or the ultrasonicprobe 125 positioning, operational parameters of the probe assembly 120and/or the ultrasonic probe 125, as well as user or system definedconfiguration parameters associated with providing the data to an inputdevice, such as the input device 155 or to a display, such as thedisplay 160.

As further shown in FIG. 1, the system 100 includes an input device 155coupled to the processor 145. In some embodiments, the input device 155can be configured within the ultrasonic testing environment 105 orwithin the value selector 140. The input device 155 can include avariety of input mechanisms allowing a user to provide inputs for use indetermining and selecting a precise value from among a large range ofvalues, as well as for use in determining a selected parameter from oneor more parameters associated with the operation of the ultrasonictesting environment 105. In some embodiments, the input device 155 caninclude a mouse, a keyboard, a stylus, a microphone, a touchscreen orother suitable input mechanisms capable of receiving user inputs andproviding the inputs to the processor 145.

As further shown in FIG. 1, the system 100 includes a display 160coupled to the processor 145. In some embodiments, the display 160 canbe configured within the ultrasonic testing environment 105. In otherembodiments, the display 160 can be configured within the value selector140. In some embodiments, the display 160 can also be configured toinclude a touchscreen input device 155 and can further includeadditional input devices 155 such as a mouse or stylus for useinteracting with the touchscreen input device configured within thedisplay 155. The display 160 can include one or more user interfacesdisplaying a variety of data and user interface controls that areassociated with the ultrasonic testing being performed in the ultrasonictesting environment 105. The user interface controls provided in thedisplay 160 can include controls implanted in a touchscreen to allow auser to select a precise value within a large range of values and/or todetermine a parameter associated with the ultrasound testing performedin the ultrasonic testing environment 105.

FIG. 2 illustrates an exemplary embodiment of a user interface 205configured to select a precise value within a large value range. Asshown in FIG. 2, the value selector 140 described in relation to thesystem 100 of FIG. 1 is configured to include a processor 145 and amemory 150. The value selector 140 shown in FIG. 2 is further configuredto include the input device 155 and the display 160 coupled to theprocessor 145. As shown in FIG. 2 via dashed lines, the user interface205 is provided for display to a user via display 160. The user caninteract with the user interface 205 via an input device, such as amouse controlling the position of the cursor 210. The user interface 205is provided in display 160 as a touchscreen interface that includes aportion configured to display data 215 and also includes a control 220.

As shown in FIG. 2, the control 220 is configured to display parameterinformation and to receive user inputs to select a precise value withina large range of values associated with a parameter corresponding to thegain of the ultrasonic probe 125 described in relation to FIG. 1. Inultrasonic testing, gain refers to a parameter associated with a measureof strength of the transmitted ultrasonic signals 130 and is measured inunits of decibels (e.g., dB). The control 220 includes a parameter panel225 which can include a parameter identifier 230 and a parameter valuedisplay 235. The parameter panel 225 can be an interactive portion ofthe control 220 and can include a multi-state display that is capable ofproviding dynamic or static displays of parameter identifiers 230 and/orparameter value displays 235 based on the speed of a user's horizontaltouch gesture.

The parameter identifier 230 identifies the specific parameter beingmanipulated in the ultrasonic testing environment 105 for which the usercan select a precise parameter value. In some embodiments, the parameterpanel 225 can be configured to enable a user to select one parameterfrom among many parameters by inputting touch gestures to the parameterpanel 225. The parameter panel 225 can be configured to determine anappropriate parameter or sequence of parameters to display based on thedirection and speed of the inputted touch gesture. For example, a usercan use his or her finger, a stylus, or the cursor 210 to apply an inputgesture in a horizontal motion across the parameter panel 225 to viewadditional parameters that are configurable within the user interface205. The speed of the user's horizontal touch gesture can be fast, suchas that associated with a swipe-type gesture, or slow, such as thatassociated with a drag-type gesture. For example, in one embodiment, afast, swipe-type horizontal gesture can cause the parameter identifier230 to dynamically display multiple parameters in a sequence of one ormore parameters. In another embodiment, a slow, drag-type horizontalgesture applied to the parameter panel 225 can cause the parameteridentifier 230 to display individual parameters statically in a sequenceresponsive to each applied horizontal drag-type gesture. Accordingly,the rate of display of the one or more parameters that can bedynamically displayed in the parameter panel 225 can be determined basedon the speed of the horizontal input provided by a user. Additionally,or alternatively, in some embodiments, the parameter panel 225 can beconfigured with a friction parameter, that is configured by a user, todisplay the sequence of successive parameters at a predefined rate.

In some embodiments, upon initially providing a fast, swipe-typehorizontal gesture to the parameter panel 225 thus causing the parameteridentifier 230 to display a sequence of one or more parameters as adynamic display of individual parameters in a sequence, a user canfurther provide a tap-type gesture to the parameter panel 225. Uponreceiving a tap-type gesture, the parameter panel 225 is configured tocease providing the dynamic display of parameters and instead provide astatic display of a selected parameter. The selected parameter isdetermined, in these embodiments, as the parameter identifier 230 thatwas displayed at the time the tap-gesture was received from the user.

The parameter value display 235 is a multi-state display that isconfigured to provide a dynamic presentation of the range of parametervalues being explored by a user and to display a static presentation ofthe precise parameter value that a user has selected. As shown in FIG.2, the user has selected a precise value of 26.35 dB for the Gainparameter. The presentation of the parameter value display 235 can beeither a dynamic display or a static display based on a user'sinteraction with the value panel 240.

As further shown in FIG. 2, the control 220 includes a value panel 240which further includes a selector 240. In some embodiments, the valuepanel 240 can be an interactive portion of the control 220 that can beconfigured similarly to the parameter panel 225, described above, suchthat the speed of a user's horizontal touch gesture that is applied tothe value panel 240 can cause the control 220 to provide a dynamicdisplay of a sequence of one or more parameters in the parameter panel225 (e.g., responsive to a fast, swipe-type gesture) or to provide astatic display of individual parameters in the parameter panel 225(e.g., response to one or more slow, drag-type gestures).

The selector 245 is configured to receive input gestures and to select avalue associated with the parameter that is displayed in the parameterpanel 225. In some embodiments, the selector 245 can receive touchgestures to select the value. In other embodiments, the selector 245 canreceive inputs provide via the cursor 210. The selector 245 can emulatea rotary knob or dial that provides the user with a user experiencesimilar to that of rotating or turning a knob to select a preciseparameter value. For example, a user can apply a touch gesture in anupward vertical direction to the selector 245 causing the selector 245to rotate or spin in a clockwise direction to indicate a larger (orgreater) parameter value selection is being sought by the user. As aresult of an upward vertical touch gesture applied to the selector 245,the parameter value display 235 would provide a dynamic display ofincreasing parameter vales. Similarly, a user can apply a touch gesturein a downward vertical direction to the selector 245 causing theselector 245 to spin or rotate in a counter-clockwise direction toindicate a smaller (or lesser) parameter value selection is being soughtby the user. As a result of a downward vertical touch gesture applied tothe selector 245, the parameter value display 235 would provide adynamic display of decreasing parameter vales.

The selector 245 can be configured to determine the complete range ofvalues associated with a parameter, and based on the speed and directionof the user input can adjust the display of the parameter valuesdisplayed in parameter value display 235 accordingly. For example, theselector 245 can determine that the complete range of parameter valuesfor the Gain parameter is a range of values from 0.0 dB to 200.0 dB.Assuming the parameter value display 235 identifies a starting parametervalue of 26.35 dB (as shown in FIG. 2), upon receiving a very fast,swipe-type vertical touch gesture in an upward direction, the selector245 can determine a sub-set of parameter values that are closer inproximity to the maximum range value. In this example, upon applicationof the very fast, swipe-type vertical touch gesture to the selector 245,the selector can determine that the next parameter value to be providedin parameter value display 235 is 100.0 dB. Continuing this example,upon application of a less fast, swipe-type vertical touch gesture in anupward direction, the selector 245 can determine that the next parameterto be provided in parameter value display 235 is 150.0 dB. If a userthen applied a slow, drag-type vertical touch gesture, the selector 245can determine the next parameter value to be provided in parameter valuedisplay 235 is 160.0 dB. In this way, the selector 245 can determinesub-sets of parameter values that should be incrementally displayed inthe parameter value display 235 based on the speed of the user inputsthat are applied to the selector 245. A user seeking to configure theGain parameter to a setting of 165.0 dB can thus provide one or moretouch gestures to precisely select the desired Gain parameter value.

Although the foregoing example, describes upward vertical touch gesturesto select a precise parameter value that is greater than the initiallydisplayed parameter value, the selector 245 can be configured tosimilarly determine sub-sets of parameter values based on downwardvertical touch gestures. For example, continuing the previous example, auser seeking to change the parameter value to 160.0 dB (from thepreviously selected value of 165.0 dB) could apply a downward verticaltouch gesture to the selector 245 at an input speed corresponding to adrag-type gesture. Based on this user input, the selector 245 candetermine smaller sub-sets of parameter values to display, such asincrements of single decibels. As the user incrementally applieddrag-type downward vertical touch gestures, the selector 245 woulddetermine the parameter values to be displayed as 164.0 dB, 163.0 dB,162.0 dB, 161.0 dB, etc., until user had provided a final inputcorresponding to the desired parameter value to be selected (e.g., 160.0dB).

In some embodiments, the selector 245 can be configured with aconfigurable friction parameter. The friction parameter can determinethe rate at which the successive parameter values are displayed as adynamic display in the parameter value display 235. Additionally, oralternatively, the configurable friction parameter can be configured todetermine the rate at which the selector 245 rotates or spins inresponse to touch gestures applied at varying input speeds. Theconfigurable friction parameter can be configured in relation tosub-sets of parameter values as well as incremental, successiveparameter values in the range of parameter values. For example, in FIG.2, a configurable friction parameter can be enabled under the “Options”menu item and allow a user to configure the increments or sub-sets ofparameter values to be displayed when a user provides a fast, swipe-typevertical upward touch gestures. In some embodiments, the configurablefriction parameter can be configured to increase the parameter values byincrements or sub-sets of 10 s, 20 s, 50 s or even 100 s. Similarly, insome embodiments, the configurable friction parameter can be configuredfor slower, drag-type upward touch gestures. In other embodiments, theconfigurable friction parameter can be similarly configured for downwardtouch gestures that are either swipe-type touch gestures or drag-typetouch gesture and can result in decreasing parameter values by theincrements or sub-sets defined via the configurable friction parameters.In this way, the control 220 can be configured to enable preciseselection of parameter values within large ranges and thereby provide anenhanced user experience.

FIG. 3 illustrates another exemplary embodiment of a user interfaceconfigured to select a precise value within a large range of values. Asshown in FIG. 3, the user interface 205 includes components similar tothose shown and described in relation to the user interface 205 of FIG.2, except the control 300 shown in FIG. 3 includes multiple controls,e.g., controls 305A and 305B. The user interface 205 of system 100 canbe configured with one or more single controls 200 as shown in FIG. 2,or with one or more multiple control 300 as shown in FIG. 3.

As shown in FIG. 3, the control 305A can be configured to receive userinputs for determining a precise value selection for a first parameter,e.g., an acquisition start parameter. For example, as shown in FIG. 3,the control 305A includes a parameter panel 310 including a parameteridentifier 315 and a parameter value display 320 as well as an valuepanel 325 including a selector 330. As further shown in FIG. 3, thecontrol 305B can be configured to receive user inputs for determining aprecise value selection for a second parameter, e.g., an acquisitionwidth parameter. The control 305B includes a parameter panel 335including a parameter identifier 340 and a parameter value display 345.The control 305B also includes an value panel 350 including a selector355. Controls 305A and 305B can be configured to operate independentlyof each other. Additionally, or alternatively, the controls 305 can beconfigured to interoperate with each other such that parameter valueselections determined using control 305A can influence or affect therange of selectable parameter values configured in relation to control305B.

FIG. 4 is a flow diagram illustrating an exemplary embodiment of amethod 400 for selecting a precise value within a large value rangeusing the system 100 shown and described in relation to FIG. 1 and theuser interface 205 shown and described in relation to FIG. 2. In certainaspects, embodiments of the method 400 can include greater or feweroperations than illustrated in FIG. 4 and the operations can beperformed in a different order than illustrated in FIG. 4.

In operation 405, the value selector 140 receives data from anultrasonic testing environment, such as the ultrasonic testingenvironment 105. The received data can include data characterized by oneor more parameters that are associated with performing ultrasonictesting. For example, the parameters can include the frequency orbandwidth of transmitted ultrasonic signals 130, the beam angle of thetransmitted ultrasonic signal 130, the gain of the transmittedultrasonic signals 130, the pulse energy of the ultrasonic signals 130,the acquisition start position of the ultrasonic probe 125 and theacquisition width of the transmitted ultrasonic signals 130. In someembodiments, the parameters can include parameters associated with agate start, a gate end, a gate threshold, a material velocity, a cursorposition, a calibration distance, a material thickness, an overlayposition and an overlay size. The received data can include minimum andmaximum values for each parameter and the value selector 140 can beconfigured to determine the range of the parameter values for which auser can provide input via the user interface 205 in order to preciselyselect a parameter value from within the range of values.

In operation 410, the value selector 140 provides a control 220 in auser interface 205 of the ultrasonic testing environment 105. Based onthe received data, the value selector 140 can determine the range ofvalues associated with the one or more parameters and can executeinstructions to configure the control 220 to display parameter dataassociated with the one or more parameters in the parameter panel 225.For example, the value selector 140 can be configured to display each ofthe one or more parameter names in the parameter identifier 230.Additionally, or alternatively, the value selector 140 can configure theparameter value display 235 to display only those parameter values thatare within the range of values determined from the data received inoperation 405.

In operation 415, the value selector 140 determines a selected valueassociated with a first parameter. A user can provide user inputs viathe selector 245 to select a precise value associated with the firstparameter. In some embodiments, the user provides input to select theprecise value by applying touch gestures to an input device 155, such asa touchscreen, that is configured to display the user interface 205 andthe control 220. In other embodiments, the user provides input via aninput device 155, such as a mouse, that is communicatively coupled tothe value selector 140 and a display 160 in which the user interface 205and control 220 are provided to the user. Based on the speed anddirection of the touch gestures or the mouse inputs applied to theselector 245, the value selector 140 determines the selected value.Additional detail regarding the methods for determining the selectedvalue associated with a parameter will be provided in the discussion ofFIG. 5.

In operation 420, the value selector 140 outputs the selected valueassociated with the first parameter as a static display within thedisplay portion 225 of the control 220. The value selector 140 processesthe applied user inputs to determine the selected value. The value thathas been selected by the user is displayed in the parameter valuedisplay 235 as a static display. The selected value is the parametervalue that the value selector 140 can use to configure the component inthe ultrasonic testing environment 105 to which the parametercorresponds. In this way, the user can select a precise parameter valuein order to configure or adjust the settings of the ultrasonic testingenvironment 105.

In operation 425, the value selector 140 determines a selectedparameter. The user can provide user inputs via the parameter panel 225and/or the value panel 240 to select a parameter from the one or moreparameters included in the received data. For example, upon applyinghorizontal touch gestures to the parameter panel 225 and/or the valuepanel 240, the parameter panel 225 will toggle between parameters orsequentially display the one or more parameter corresponding to the datareceived in operation 405. Additional detail regarding the methods fordetermining the selected parameter will be provided in the discussion ofFIG. 6.

In operation 430, the value selector 140 outputs the selected parameteras a static display within the display portion of the control 220. Thevalue selector 140 can process the applied user inputs describe above inrelation to operation 425 to determine the selected parameter. Theparameter that has been selected by the user can be displayed in theparameter identifier 230 of the parameter panel 225 as a static display.The selected parameter can then be configured in the ultrasonic testingenvironment 105 by the value selector 140 based on the precise value ofthe parameter that was selected by the user via the selector 245.

FIG. 5 is a flow diagram illustrating an exemplary embodiment of amethod 500 for determining a selected value associated with a firstparameter using the system 100 shown and described in relation to FIG. 1and the user interface 205 shown and described in relation to FIG. 2. Incertain aspects, embodiments of the method 500 can include greater orfewer operations than illustrated in FIG. 5 and the operations can beperformed in a different order than illustrated in FIG. 5.

In operation 505, the selector 245 receives a first value selectioninput applied to the interactive portion of the control 220. A user canprovide the first value selection input via user inputs such as touchgestures or mouse interactions that the user applies to the selector245. The selector 245 can be configured to spin or rotate uponapplication of the user's value selection input.

In operation 510, the selector 245 determines an input direction and aninput speed associated with the first value selection input. The userinputs provided as value selection inputs can be applied to the selector245 as touch gestures or mouse interactions in a vertical direction. Theselector 245 can be configured to execute different functionality basedon the input direction. For example, the selector 245 can be configuredto determine an increment or subset of parameter values within theparameter range and to display the parameter values that are within theincrement or subset. In this way, the selector 245 can be configured todetermine and display increments or subsets of parameter values whosevalues are greater than an initial or previously provided value based onvertical upward touch gestures. Additionally, or alternatively, theselector 245 can be configured to determine and display increments orsubsets of parameter values whose values are lower than an initial orpreviously provided value based on downward vertical touch gestures. Theinitial value can be the parameter value that is initially displayedwhen a user begins to interact with the selector 245 for the first time.The previously provided value can be a value that the selector 245 hasdetermined and displayed based on previously provided user input.

The user inputs can also be provided at a variety of input speeds. Theselector 245 can be configured to determine input speed based on theduration of contact between a user's finger and the touchscreen. Forexample, the selector 245 can be configured to determine that a fast,swipe-type gesture includes a short duration of contact between thetouchscreen and the user's finger or stylus. Similarly, the selector 245can be configured to determine that a slow, drag-type gesture includes alonger duration of contact between the touchscreen and the user's fingeror stylus. Based on the speed of the user input, the selector 245 can beconfigure to execute different functionality. For example, in responseto fast, swipe-type input speeds, the selector 245 can be configured todetermine and display larger increments or subsets of parameter valuesin one or more magnitudes, such as increments of 10 s, 20 s, 50 s, or100 s. Similarly, in response to slow, drag-type input speeds, theselector 245 can be configured to determine and display smallerincrements or subsets of parameter values in one or more magnitudes,such as increments of 1.0, 0.5, 0.1, 0.01, or 0.001, etc. The selector245 can include configurable settings to adjust or manipulate themagnitude of the increments or subsets of parameter values based on thespeed of the user provided input.

In operation 515, the value selector 140 determines a first subset ofvalues, included in the range of values, based on the input speed andthe input direction associated with the first value input selection. Asa result of processing the speed and direction of the user inputsapplied to the selector 245, the value selector 140 determines theincrements or subset of values which correspond to the input directionand the input speed. For example, a user can provide an initial, orfirst value selection input as a fast, swipe-type touch gesture in avertical direction. The value selector 140 can determine that the subsetof values should be incremented higher or greater by a magnitude of 50as compared to the starting value that was initially displayed in theparameter value display 235. In this example, assuming the initialparameter value was 0.0, based on the user's first input of a fast,swipe-type touch gesture in the vertical direction, the value selector140 can determine the new incremental value to be 50.0.

In operation 520, the value selector 140 provides the first subset ofvalues as a first dynamic display within the display portion of thecontrol 220. The first increment or subset of values determined inoperation 520 ca be provided to the user in the parameter value display235 of the parameter panel 225. The displayed value can be provided as adynamic display such that parameter values that are in proximity to themagnitude of the first determined subset of values are displayed insequence dynamically. Continuing the example above, based on the user'sfirst input of a fast, swipe-type touch gesture in the verticaldirection, the value selector 140 can provide a dynamic display of thevalues which are in proximity to 50.0, such as successive displays of45.0, 46.0, 47.0, 48.0, 49.0 and finally reverting to a static displayof 50.0.

In operation 525, the selector 245 receives a second value selectioninput applied to the interactive portion. Similar to the functionalitydescribed in relation to operation 505, the selector 245 receives anadditional, second, or subsequent user input as a second value selectioninput that can be provided by inputting one or more touch gestures. Theuser can enter second or additional user inputs to the selector 245 inorder to operate the control 220 to select the precise parameter valuefor which the user is attempting to select. Continuing the aboveexample, upon providing a first value selection input causing thecontrol 220 to display a value or 50.0 in the parameter value display235, the user can enter a second or additional value selection input tocontinue selecting the desired, precise parameter value. For example,assume the user is attempting to precisely select a parameter value of64.0. The user can provide a second value selection input as aless-fast, swipe-type touch gesture in the upward vertical direction.

In operation 530, the selector 245 determines an input direction and aninput speed associated with the second value selection input. Similar tothe functionality described in relation to operation 510, the selector245 can determine the input speed and the input direction of user inputsthat are provided as second or additional value selection inputs as theuser attempts to select the precise parameter value. Continuing theabove example, the selector 245 can be configured to determine that aless fast, swipe-type touch gesture input in an upward verticaldirection corresponds to smaller increments or subsets of parametervalues, such as increments or subsets of parameter values in magnitudesof 10 s.

In operation 535, the value selector 140 determines a second subset ofvalues, included in the range of values, based on the input speed andthe input direction associated with the second value selection input.Similar to the functionality described in relation to operation 515, thevalue selector 140 can determine the second subset of parameter valuesbased on the second or an additional user input applied to the selector245. Continuing the above example, the value selector 140 can determine,based on receiving a less-fast, swipe-type touch gesture input in anupward vertical direction, the second increment or subset of parametervalue to be 60.0. The value selector 140 determined the second subset ofvalues to be 60.0 as a result of the first user input applied as a fast,swipe-type gesture in a upward vertical direction corresponding to anincrement of 50.0 which was followed by a second user input applied as aless-fast, swipe type gesture in a vertical upward directioncorresponding to an increment of 10.0.

In operation 540, the value selector 140 provides the second subset ofvalues as a second dynamic display within the display portion of thecontrol. Similar to the functionality described in relation to operation520, the value selector 140 can provide the determined second subset ofparameter values for display in the parameter value display 235 as adynamic display. The displayed value can be provided as a dynamicdisplay such that parameter values that are in proximity to themagnitude of the second determined subset of values are displayed insequence dynamically. Continuing the example above, based on the user'ssecond input of a less-fast, swipe-type touch gesture in the verticaldirection, the value selector 140 can provide a dynamic display of thevalues which are in proximity to 60.0, such as successive displays of57.0, 58.0, 59.0, and finally reverting to a static display of 60.0.

A user may continue to provide additional second value selection inputsin an iterative manner until the precise value to be selected isreached. For example, after entering the aforementioned swipe-type touchgestures in a vertical direction, the user may transition to enteringdrag-type touch gestures in a vertical direction in order to preciselyselect the desired parameter value. As described above, the valueselector 140 can be configured to determine that drag-type touchgestures applied in a vertical direction correspond to minor incrementsor subsets of parameter values in magnitudes such as 1.0, 0.5, 0.1,0.01, etc. As the user continues to provide drag-type gestures in anupward vertical direction the value selector 140 can determine acorresponding increment or subset of the parameter values to display inthe parameter value display 235 as a sequence of static displays, suchas 61.0, 62.0, 63.0, until a final user input is provided to reach thedesired parameter value to be selected of 64.0.

In operation 545, the value selector 140 determines the selected valuefrom the second subset of values based on removal of the second valueselection input. The value selector 140 can determine the selected valuebased on determining that the second value input has been removed fromthe touchscreen. For example, a drag-type touch gesture can be initiatedby pressing a finger to the touch screen. The drag-type gesture isperformed in a particular direction and at a particular speed. Thedrag-type gesture ends as the finger is removed from the touchscreen.The control 220 can be configured to determine the removal of a userinput, such as the second value selection input, based on an absence ofpressure or force applied to the control 220. In some embodiments, thevalue selector 140 can be configured to determine the removal of thesecond value selection input based on a duration of time passing beforeany subsequent user input is applied to the selector 245.

FIG. 6 is a flow diagram illustrating an exemplary embodiment of amethod 600 for determining a selected parameter using the system 100shown and described in relation to FIG. 1 and the user interface 205shown and described in relation to FIG. 2. In certain aspects,embodiments of the method 600 can include greater or fewer operationsthan illustrated in FIG. 6 and the operations can be performed in adifferent order than illustrated in FIG. 6.

In operation 605, a first parameter selection input is applied to theinteractive portion of the control 220. The interactive portion(s) ofthe control 220 can include the parameter panel 225, as well as thevalue panel 240. A user can provide a first parameter selection input asa horizontal touch gesture that is applied to the parameter panel 225 orthe value panel 240.

In operation 610, the control 220 determines an input direction and aninput speed associated with the first parameter selection input. Theuser inputs provided as parameter selection inputs can be applied to thecontrol 220 as touch gestures in a horizontal direction. The control 220can be configured to execute different functionality based on the inputdirection. For example, the control 220 can be configured to determinethat a swipe or drag-type touch gesture applied in a horizontaldirection to the left can advance a sequence of parameter panel 225displays in a first direction. Similarly, a swipe or drag-type touchgesture applied in a horizontal direction to the right can advance asequence of parameter panel 225 displays in a second direction.

The control 220 can be further configured to determine an input speedassociated with the first parameter input selection. The control 220 canbe configured to determine that a fast, swipe-type horizontal touchgesture has been applied to the control 220 causing a dynamic display ofmultiple sequential parameters to be displayed in the parameter panel225. In some embodiments, the control 220 can be configured to determinea slow, drag-type horizontal touch gesture has been applied to thecontrol 220 causing a static display of individual parameters to beprovided in a sequence, such that each successive drag-type horizontaltouch gesture causes the successive individual parameters to bedisplayed in the parameter panel 225. The control 220 can includeconfigurable settings to adjust or manipulate the rate at which theparameters are displayed based on the speed of the user provided input.

In operation 615, the value selector 140 determines a first subset ofparameters, included in the one or more parameters, based on the inputspeed and the input direction associated with the first parameter inputselection. As a result of processing the speed and direction of the userinputs, the value selector 140 determines the increments or subset ofparameters which correspond to the input direction and the input speed.For example, a user can provide an initial, or first parameter selectioninput as a fast, swipe-type touch gesture in a horizontal direction tothe right. As a result, the value selector 140 can determine that thefirst subset of parameters corresponds to a subset of parameters thatare indexed later in an ordered list of the one or more parameters. Inthis example, assuming the initial parameter had an index of n=1, basedon the user's first input of a fast, swipe-type touch gesture in thehorizontal direction to the right, the value selector 140 can determinethe first subset of parameters to begin at an index of n=5.

In operation 620, the value selector 140 provides the first subset ofparameters as a first dynamic display within the display portion of thecontrol 220. The first increment or subset of parameters determined inoperation 620 can be provided to the user in the parameter identifier230 of the parameter panel 225. The displayed parameters can be providedas a dynamic display such that parameters that are in proximity to theindex of the first determined subset of parameters are displayed insequence dynamically. Continuing the example above, based on the user'sfirst input of a fast, swipe-type touch gesture in the horizontaldirection to the right, the value selector 140 can provide a dynamicdisplay of the parameters which are in proximity to the parameter withan index of n=5, such as successive displays of parameters associatedwith indexes n=2, n=3, and n=4 and finally reverting to a static displayof the parameter with an index of n=5.

In operation 625, the control 220 receives a second parameter selectioninput applied to the control 220. Similar to the functionality describedin relation to operation 605, the control 220 receives an additional,second, or subsequent user input as a second parameter selection inputthat can be provided by inputting one or more touch gestures. The usercan enter second or additional user inputs to the control 220 in orderto select the precise parameter. Continuing the above example, uponproviding a first parameter selection input causing the control 220 todisplay a parameter with an index of n=5 in the parameter panel 225, theuser can enter a second or additional parameter selection input tocontinue selecting the desired parameter. For example, assume the useris attempting to select a parameter with an index of n=9. The user canprovide a second parameter selection input as a slow, drag-type touchgesture in the horizontal direction to the right.

In operation 630, the control 220 determines an input direction and aninput speed associated with the second parameter selection input.Similar to the functionality described in relation to operation 610, thecontrol 220 can determine the input speed and the input direction ofuser inputs that are provided as second or additional parameterselection inputs as the user attempts to select the precise parameter.Continuing the above example, the control 220 can be configured todetermine that a slow, drag-type touch gesture input in a horizontaldirection to the right corresponds to smaller increments or subsets ofparameters, such as increments or subsets of parameter in single indexvalues.

In operation 635, the value selector 140 determines a second subset ofparameters, included in the one or more parameters, based on the inputspeed and the input direction associated with the second parameterselection input. Similar to the functionality described in relation tooperation 615, the value selector 140 can determine the second subset ofparameters based on the second or an additional user input applied tothe control 220. Continuing the above example, the value selector 140can determine, based on receiving a slow, drag-type touch gesture inputin a direction to the right, the second increment or subset ofparameters to be the parameter with an index of n=6. The value selector140 determined the second subset of parameter to be the parameter withan index of n=6 as a result of the first user input applied as a fast,swipe-type gesture in a horizontal direction to the right correspondingto a parameter with an index of n=5 which was followed by a second userinput applied as a slow, drag-type gesture in a horizontal direction tothe right corresponding to an increment of a single index value.

In operation 640, the value selector 140 provides the second subset ofparameters as a second dynamic display within the parameter panel 225.Similar to the functionality described in relation to operation 620, thevalue selector 140 can provide the determined second subset ofparameters for display in the parameter identifier 230 as a dynamicdisplay. The displayed value can be provided as a dynamic display suchthat parameters that are in proximity to the index of the seconddetermined subset of parameters are displayed in sequence dynamically.Continuing the example above, based on the user's second input of aslow, drag-type touch gesture in the horizontal direction to the right,the value selector 140 can provide a dynamic display of the parameterwith an index of n=6.

A user may continue to provide additional second parameter selectioninputs in an iterative manner until the desired parameter to be selectedis reached. For example, after entering the aforementioned swipe-typetouch gestures in a horizontal direction, the user may transition toentering drag-type touch gestures in a horizontal direction to the rightin order to select the desired parameter. As described above, the valueselector 140 can be configured to determine that drag-type touchgestures applied in a horizontal direction to the right correspond tominor increments or subsets of parameters in single index magnitudes. Asthe user continues to provide drag-type gestures in an horizontaldirection to the right the value selector 140 can determine acorresponding increment or subset of the parameters to display in theparameter identifier 230 as a sequence of static displays, such asparameters with an index of n=7, and n=8, until a final user input isprovided to reach the desired parameter to be selected with an index ofn=9.

In operation 645, the value selector 140 determines the selectedparameter from the second subset of parameters based on removal of thesecond parameter selection input. The value selector 140 can determinethe selected parameter based on determining that the second parameterinput has been removed from the touchscreen. For example, a drag-typetouch gesture can be initiated by pressing a finger to the touch screen.The drag-type gesture is performed in a particular direction and at aparticular speed. The drag-type gesture ends as the finger is removedfrom the touchscreen. The control 220 can be configured to determine theremoval of a user input, such as the second parameter selection input,based on an absence of pressure or force applied to the control 220. Insome embodiments, the value selector 140 can be configured to determinethe removal of the second parameter selection input based on a durationof time passing before any subsequent user input is applied to thecontrol 220.

FIG. 7 is a flow diagram illustrating an exemplary embodiment of amethod 700 for providing a selected value or parameter in a staticdisplay using the system 100 shown and described in relation to FIG. 1and the user interface 205 shown and described in relation to FIG. 2. Incertain aspects, embodiments of the method 700 can include greater orfewer operations than illustrated in FIG. 7 and the operations can beperformed in a different order than illustrated in FIG. 7.

As described above, the parameter panel 225 and the value panel 240include interactive portions which can be in a state of dynamic display.For example, based on receiving a swipe-type gesture applied to theparameter panel 225, the parameter panel 225 can provide a dynamicdisplay of the one or more parameters in sequenced order correspondingto the index associated with each parameter. Similarly, the selector 245configured in the value panel 245 can provide a dynamic display wherebythe selector 245 is spinning or rotating as a result of a swipe-typegesture that has been applied to the selector 245 by a user attemptingto select a precise parameter value. The control 220 can be configuredto receive a tap-gesture causing the state of the dynamic display totransition to a state of static display and thereby causing a particularvalue or parameter to be selected.

In operation 705, the control 220 receives a tap-gesture input. Thetap-gesture can be received upon provision of the first dynamic displaydescribed above. In some embodiments, the first dynamic display cancorrespond to the dynamic display of one or more parameter valuesgenerated as a result of applying a first value selection input (e.g., afast, swipe-type gesture applied in a vertical direction) to theselector 245. In other embodiments, the first dynamic display cancorrespond to the dynamic display of one or more parameters generated asa result of applying a first parameter selection input (e.g., a fast,swipe-type gesture applied in a horizontal direction). A tap-gestureinput can be a gesture in which the user is merely touching thetouchscreen without additional movement in a particular direction. Atap-gesture can include a relatively fast input speed as the user isonly momentarily touching the touchscreen with a finger or stylus andimmediately removing the finger or stylus.

In operation 710, the control 220 provides the selected value orparameter in a static display. Responsive to receiving a tap-gesture,the control 220 can be configured to provide the selected value orparameter in a static display. The value or parameter to be provided isdetermined as the value or parameter that was displayed in the parametervalue display 235 or the parameter identifier 230 at the time thetap-gesture was received. In this way, a user can interact with thecontrol 220 to indicate a precise value or a specific parameter to beselected when a dynamic display of values or parameters are beingdisplayed in the control 220.

FIG. 8 illustrates an exemplary embodiment of a user interface 800 forselecting a precise value within a large value range in operation. Theuser interface 800 includes a control 220, as described in relation toFIG. 2. The control 220 includes a parameter panel 225, a parameteridentifier 230 and parameter value display 235, a value panel 240 and aselector 245.

As shown in FIG. 8, the control 220 has been configured to receive userinputs for selecting a precise value associated with the Gain parameter.The value selector 140 has determined the range of values associatedwith the Gain parameter and configured the scale of values identified onthe selector 245 to correspond to the range of Gain parameter values. Auser can apply vertical gestures 805 via touch or using a mouse toadjust the selector 245 to a desired parameter value. For example, auser can apply a fast, swipe-type gesture in an upward verticaldirection to select a value higher than 33.5. Additionally, oralternatively, a user can apply a slow, drag-type gesture in a downwardvertical direction to select a value that is lower than 32.5. Based onthe input speed and the input direction, the selector 245 will determinethe subset of values to provide to the user for selection or furtheruser input.

FIG. 9 illustrates an exemplary embodiment of a user interface 900 fordetermining a selected parameter in operation. The user interface 900includes a multi-parameter control 220 that has been configured toreceive user inputs for associated with value selections for a Gainparameter 230 and an Acquisition start parameter 315. The control 220includes a parameter panel 225 and a value panel 240 as described inrelation to FIGS. 2 and 3. The control 220 includes a parameter panel225, a parameter identifier 230 and parameter value display 235, a valuepanel 240 and a selector 245.

As shown in FIG. 9, a user can provide horizontal gesture 905 to theparameter panel 225 to toggle or change the order of the parameters forwhich value selection can be provided. As shown in FIG. 9, the user hasselected a parameter value of 32.4 for the Gain parameter 230 and hasapplied a horizontal gesture 905 via touch or mouse interaction to theparameter panel 225 causing the parameter panel 225 and the value panel240 to transition to the next parameter for which the user wishes toselect a value, e.g., the Acquisition start parameter 315. As a resultof applying the horizontal gesture 905 to the parameter panel 225, thecontrol 220 can be configured to transition the selector 915 associatedwith the Gain parameter 230 to the selector 920 associated with theAcquisition start parameter 315.

As further shown in FIG. 9, the user can also provide a horizontalgesture 910 to the value panel 240 causing the control 220 to transitionfrom the Gain parameter 230 to the Acquisition start parameter 315. As aresult, the value panel 240 can transition the provision of selector 915to selector 920 to allow a user to provide a precise value selection forthe Acquisition start parameter 315 via the selector 920.

Exemplary technical effects of the methods, systems, andcomputer-readable medium described herein include, by way ofnon-limiting example, determining and generating a sequence of actionsthat can be integrated into a client device 105 to provide an improvedinterface to a user performing a sequence of actions in regard to adefined objective. The improved interface can further improve the rateof objective completion on the client device 105, thereby generating agreater quantity of user inputs. Additionally, the improved interfaceprovides more efficient execution of individual actions by providing theactions in an ordered sequence that is customized for the psychographicstate of the user. In this way, the client device 105 can be improved toexecute functionality that is associated with the actions more reliablyand thereby improve the functionality of the computer with respect tothe objective the client device 105 is configured to perform.

Certain exemplary embodiments have been described to provide an overallunderstanding of the principles of the structure, function, manufacture,and use of the systems, devices, and methods disclosed herein. One ormore examples of these embodiments have been illustrated in theaccompanying drawings. Those skilled in the art will understand that thesystems, devices, and methods specifically described herein andillustrated in the accompanying drawings are non-limiting exemplaryembodiments and that the scope of the present invention is definedsolely by the claims. The features illustrated or described inconnection with one exemplary embodiment can be combined with thefeatures of other embodiments. Such modifications and variations areintended to be included within the scope of the present invention.Further, in the present disclosure, like-named components of theembodiments generally have similar features, and thus within aparticular embodiment each feature of each like-named component is notnecessarily fully elaborated upon.

The subject matter described herein can be implemented in analogelectronic circuitry, digital electronic circuitry, and/or in computersoftware, firmware, or hardware, including the structural meansdisclosed in this specification and structural equivalents thereof, orin combinations of them. The subject matter described herein can beimplemented as one or more computer program products, such as one ormore computer programs tangibly embodied in an information carrier(e.g., in a machine-readable storage device), or embodied in apropagated signal, for execution by, or to control the operation of,data processing apparatus (e.g., a programmable processor, a computer,or multiple computers). A computer program (also known as a program,software, software application, or code) can be written in any form ofprogramming language, including compiled or interpreted languages, andit can be deployed in any form, including as a stand-alone program or asa module, component, subroutine, or other unit suitable for use in acomputing environment. A computer program does not necessarilycorrespond to a file. A program can be stored in a portion of a filethat holds other programs or data, in a single file dedicated to theprogram in question, or in multiple coordinated files (e.g., files thatstore one or more modules, sub-programs, or portions of code). Acomputer program can be deployed to be executed on one computer or onmultiple computers at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification, includingthe method steps of the subject matter described herein, can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions of the subject matter describedherein by operating on input data and generating output. The processesand logic flows can also be performed by, and apparatus of the subjectmatter described herein can be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processor of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for executing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. Information carrierssuitable for embodying computer program instructions and data includeall forms of non-volatile memory, including by way of examplesemiconductor memory devices, (e.g., EPROM, EEPROM, and flash memorydevices); magnetic disks, (e.g., internal hard disks or removabledisks); magneto-optical disks; and optical disks (e.g., CD and DVDdisks). The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, the subject matter describedherein can be implemented on a computer having a display device, e.g., aCRT (cathode ray tube) or LCD (liquid crystal display) monitor, fordisplaying information to the user and a keyboard and an input device,(e.g., a mouse, a touchscreen, or a trackball), by which the user canprovide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well. For example, feedbackprovided to the user can be any form of sensory feedback, (e.g., visualfeedback, auditory feedback, or tactile feedback), and input from theuser can be received in any form, including acoustic, speech, or tactileinput.

The techniques described herein can be implemented using one or moremodules. As used herein, the term “module” refers to computing software,firmware, hardware, and/or various combinations thereof. At a minimum,however, modules are not to be interpreted as software that is notimplemented on hardware, firmware, or recorded on a non-transitoryprocessor readable recordable storage medium (i.e., modules are notsoftware per se). Indeed “module” is to be interpreted to always includeat least some physical, non-transitory hardware such as a part of aprocessor or computer. Two different modules can share the same physicalhardware (e.g., two different modules can use the same processor andnetwork interface). The modules described herein can be combined,integrated, separated, and/or duplicated to support variousapplications. Also, a function described herein as being performed at aparticular module can be performed at one or more other modules and/orby one or more other devices instead of or in addition to the functionperformed at the particular module. Further, the modules can beimplemented across multiple devices and/or other components local orremote to one another. Additionally, the modules can be moved from onedevice and added to another device, and/or can be included in bothdevices.

The subject matter described herein can be implemented in a computingsystem that includes a back-end component (e.g., a data server), amiddleware component (e.g., an application server), or a front-endcomponent (e.g., a client computer having a graphical user interface ora web browser through which a user can interact with an implementationof the subject matter described herein), or any combination of suchback-end, middleware, and front-end components. The components of thesystem can be interconnected by any form or medium of digital datacommunication, e.g., a communication network. Examples of communicationnetworks include a local area network (“LAN”) and a wide area network(“WAN”), e.g., the Internet.

Approximating language, as used herein throughout the specification andclaims, can be applied to modify any quantitative representation thatcould permissibly vary without resulting in a change in the basicfunction to which it is related. Accordingly, a value modified by a termor terms, such as “about,” “approximately,” and “substantially,” are notto be limited to the precise value specified. In at least someinstances, the approximating language can correspond to the precision ofan instrument for measuring the value. Here and throughout thespecification and claims, range limitations can be combined and/orinterchanged, such ranges are identified and include all the sub-rangescontained therein unless context or language indicates otherwise.

One skilled in the art will appreciate further features and advantagesof the invention based on the above-described embodiments. Accordingly,the present application is not to be limited by what has beenparticularly shown and described, except as indicated by the appendedclaims. All publications and references cited herein are expresslyincorporated by reference in their entirety.

1. A method comprising: receiving data from an ultrasonic testingenvironment, the data including a range of values associated with one ormore parameters to be configured for performing ultrasonic inspection ofa test object; displaying a control in a user interface of theultrasonic testing environment, the control including a display portionconfigured to display one or more parameters and one or more valueswithin the range of values associated with the one or more parametersand an interactive portion configured to receive a plurality of inputs;determining a selected value associated with a first parameter; anddisplaying the selected value associated with the first parameter as astatic display within the display portion of the control.
 2. The methodof claim 1, wherein the ultrasonic testing environment includes anthree-dimensional space enclosing the test object, an ultrasonic probeassembly including an ultrasonic probe, a controller coupled to theultrasonic probe assembly and a processor coupled to the controller, theprocessor configured to receive user input for performing ultrasonictesting on the test object and in response to the user input, executeinstructions causing the ultrasonic probe to transmit ultrasonic signalsinto the test piece and to receive reflected ultrasonic signals from thetest piece.
 3. The method of claim 1, wherein determining the selectedvalue associated with the first parameter includes, receiving a firstvalue selection input applied to the interactive portion; determining aninput direction and an input speed associated with the first valueselection input; determining a first subset of values, included in therange of values, based on the input speed and the input directionassociated with the first value selection input, and providing the firstsubset of values as a first dynamic display within the display portionof the control; receiving a second value selection input applied to theinteractive portion; determining an input direction and an input speedassociated with the second value selection input; determining a secondsubset of values, included in the range of values, based on the inputspeed and the input direction associated with the second value selectioninput, and providing the second subset of values as a second dynamicdisplay within the display portion of the control; and determining theselected value from the second subset of values based on removal of thesecond value selection input.
 4. The method of claim 3, wherein theinput direction associated with the first and second value selectioninputs includes a vertical input direction and the input speedassociated with the first and second value selection inputs includes aswipe-gesture input speed or an a drag-gesture input speed.
 5. Themethod of claim 4, wherein the first and second subsets of values areprovided in the dynamic display at a display rate determined based onthe input speed and a configurable friction parameter configured todisplay successive values within the first and second subset of valuesat a predetermined rate.
 6. The method of claim 3, further comprisingreceiving a tap-gesture input upon provision of the first dynamicdisplay and responsive to the received tap-gesture input, providing theselected value in a static display, the selected value provided as thevalue displayed in the first dynamic display at a time the tap-gestureinput was received.
 7. The method of claim 1, further comprisingdetermining a selected parameter, the determining the selected parameterincluding, receiving a first parameter selection input applied to theinteractive portion; determining an input direction and an input speedassociated with the first parameter selection input; determining a firstsubset of parameters, included in the one or more parameters, based onthe input speed and the input direction associated with the firstparameter selection input, and providing the first subset of parametersas a first dynamic display within the display portion of the control;receiving a second parameter selection input applied to the interactiveportion; determining an input direction and an input speed associatedwith the second parameter selection input; determining a second subsetof parameters, included in the one or more parameters, based on theinput speed and the input direction associated with the second parameterselection input, and providing the second subset of parameters as asecond dynamic display within the display portion of the control;determining the selected parameter from the second subset of parametersbased on removal of the second parameter selection input; and outputtingthe selected parameter as a static display within the display portion ofthe control.
 8. The method of claim 7, wherein the input directionincludes a horizontal input direction and the input speed is associatedwith an input speed corresponding to a swipe-gesture input or an inputspeed corresponding to a drag-gesture input.
 9. The method of claim 8,wherein the subset of parameters are provided in the dynamic display ata display rate determined based on the input speed and a configurablefriction parameter configured to display successive parameters withinthe subset of parameters at a predetermined rate.
 10. The method ofclaim 7, further comprising receiving a tap-gesture input upon provisionof the first dynamic display and responsive to the received tap-gestureinput, providing the selected parameter in a static display, theselected parameter provided as the parameter displayed in the firstdynamic display at a time the tap-gesture input was received.
 11. Asystem comprising: an ultrasonic testing environment including a memorystoring non-transitory computer-readable instructions; and a dataprocessor, the data processor configured to execute the non-transitorycomputer-readable instructions, which when executed, cause the dataprocessor to perform operations including, receiving data from theultrasonic testing environment, the data including a range of valuesassociated with one or more parameters to be configured for performingultrasonic inspection of a test object; providing a control in a userinterface of the ultrasonic testing environment, the control including adisplay portion configured to display one or more parameters and one ormore values within the range of values associated with the one or moreparameters and an interactive portion configured to receive a pluralityof inputs; determining a selected value associated with a firstparameter; and outputting the selected value associated with the firstparameter as a static display within the display portion of the control.12. The system of claim 11, wherein the ultrasonic testing environmentincludes an three-dimensional space enclosing the test object, anultrasonic probe assembly including an ultrasonic probe, a controllercoupled to the ultrasonic probe assembly and a processor coupled to thecontroller, the processor configured to receive user input forperforming ultrasonic testing on the test object and in response to theuser input, execute instructions causing the ultrasonic probe totransmit ultrasonic signals into the test piece and to receive reflectedultrasonic signals from the test piece.
 13. The system of claim 11,wherein the data processor is configured to execute thecomputer-readable instructions, which when executed further cause theprocessor to determine the selected value associated with the firstparameter, the determining including, receiving a first value selectioninput applied to the interactive portion; determining an input directionand an input speed associated with the first value selection input;determining a first subset of values, included in the range of values,based on the input speed and the input direction associated with thefirst value selection input, and providing the first subset of values asa first dynamic display within the display portion of the control;receiving a second value selection input applied to the interactiveportion; determining an input direction and an input speed associatedwith the second value selection input; determining a second subset ofvalues, included in the range of values, based on the input speed andthe input direction associated with the second value selection input,and providing the second subset of values as a second dynamic displaywithin the display portion of the control; and determining the selectedvalue from the second subset of values based on removal of the secondvalue selection input.
 14. The system of claim 13, wherein the inputdirection associated with the first and second value selection inputsincludes a vertical input direction and the input speed associated withthe first and second value selection inputs includes a swipe-gestureinput speed or an a drag-gesture input speed.
 15. The system of claim14, wherein the first and second subsets of values are provided in thedynamic display at a display rate determined based on the input speedand a configurable friction parameter configured to display successivevalues within the first and second subset of values at a predeterminedrate.
 16. The system of claim 13, wherein the data processor isconfigured to execute the computer-readable instructions, which whenexecuted further cause the processor to receive a tap-gesture input uponprovision of the first dynamic display and responsive to the receivedtap-gesture input, provide the selected value in a static display, theselected value provided as the value displayed in the first dynamicdisplay at a time the tap-gesture input was received.
 17. The system ofclaim 11, wherein the data processor is configured to execute thecomputer-readable instructions, which when executed further cause thedata processor to determine a selected parameter, the determiningincluding, receiving a first parameter selection input applied to theinteractive portion; determining an input direction and an input speedassociated with the first parameter selection input; determining a firstsubset of parameters, included in the one or more parameters, based onthe input speed and the input direction associated with the firstparameter selection input, and providing the first subset of parametersas a first dynamic display within the display portion of the control;receiving a second parameter selection input applied to the interactiveportion; determining an input direction and an input speed associatedwith the second parameter selection input; determining a second subsetof parameters, included in the one or more parameters, based on theinput speed and the input direction associated with the second parameterselection input, and providing the second subset of parameters as asecond dynamic display within the display portion of the control;determining the selected parameter from the second subset of parametersbased on removal of the second parameter selection input; and output theselected parameter as a static display within the display portion of thecontrol.
 18. The system of claim 17, wherein the input directionincludes a horizontal input direction and the input speed is associatedwith an input speed corresponding to a swipe-gesture input or an inputspeed corresponding to a drag-gesture input.
 19. The system of claim 18,wherein the subset of parameters are provided in the dynamic display ata display rate determined based on the input speed and a configurablefriction parameter configured to display successive parameters withinthe subset of parameters at a predetermined rate.
 20. The system ofclaim 17, further comprising receiving a tap-gesture input uponprovision of the first dynamic display and responsive to the receivedtap-gesture input, providing the selected parameter in a static display,the selected parameter provided as the parameter displayed in the firstdynamic display at a time the tap-gesture input was received.